// Generator 核心入口
// 需要导出一个继承自 yeoman-generator 的类型

const Generator = require('yeoman-generator')

module.exports = class extends Generator {
    // Yeoman 在询问永华环节会自动调用此方法
    // 在此方法中可以调用父类的 prompt() 方法发出对用户的命令行询问
    prompting() {
        return this.prompt([
            {
                type: 'input',
                name: 'name',
                message: 'Your project name',
                default: this.appname   // 项目生成目录名称
            }
        ]).then(answers => {
            console.log(answers)
        })
    }
    // Yeoman 自动在生成文件阶段调用此方法
    writing() {
        // this.fs.write(
        //     this.destinationPath('temp.txt'),
        //     Math.random().toString()
        // )

        // 通过模版方式写入文件到目标目录

        // 模版文件路径
        const tmpl = this.templatePath('foo.txt')
        // 输出目标路径
        const output = this.destinationPath('foo.txt')
        // 模版数据上下文
        const context = {title: 'Hello wlz', success: false}

        this.fs.copyTpl(tmpl, output, context)

    }
}